package com.gxc.array;

import java.util.HashMap;
import java.util.Map;

/**
 * 2956. 找到两个数组中的公共元素
 * 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ，它们分别含有 n 和 m 个元素。
 *
 * 请你计算以下两个数值：
 *
 * 统计 0 <= i < n 中的下标 i ，满足 nums1[i] 在 nums2 中 至少 出现了一次。
 * 统计 0 <= i < m 中的下标 i ，满足 nums2[i] 在 nums1 中 至少 出现了一次。
 * 请你返回一个长度为 2 的整数数组 answer ，按顺序 分别为以上两个数值。
 */
public class FindIntersectionValues {

    public static void main(String[] args) {
        int[] handle = handle(new int[]{4, 3, 2, 3, 1}, new int[]{2, 2, 5, 2, 3, 6});
        System.out.println("");
    }

    public static int[] handle(int[] nums1, int[] nums2) {
        int[] res = new int[2];
        Map<Integer, Integer> map1 = new HashMap<>();
        Map<Integer, Integer> map2 = new HashMap<>();
        for (int i = 0; i < nums1.length; i++) {
            map1.put(nums1[i], 1);
        }
        for (int i = 0; i < nums2.length; i++) {
            map2.put(nums2[i], 1);
        }
        int res1 = 0;
        for (int i = 0; i < nums1.length; i++) {
            if (map2.get(nums1[i]) != null) res1++;
        }
        int res2 = 0;
        for (int i = 0; i < nums2.length; i++) {
            if (map1.get(nums2[i]) != null) res2++;
        }
        res[0] = res1;
        res[1] = res2;
        return res;
    }

}
